package com.nineclock.system.feign;

import com.nineclock.common.entity.Result;
import com.nineclock.system.dto.SysCompanyUserDTO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;

/**
 * http://sys-service/organization/department/top
 * @author 黑马程序员
 * @Company http://www.ithiema.com
 * @Version 1.0
 */
@FeignClient("sys-service")
public interface OrganizationFeign {

    @GetMapping("/organization/department/top")
    public Result<List<Long>> queryDepartmentIds() ;

    /**
     * 在feign接口中，get请求，所有的参数必须添加 @RequestParam注解
     * @param departmentIds
     * @return
     */
    @GetMapping("/organization/department/membernum")
    public Result<Integer> queryUserCountByDepartmentIds(
            @RequestParam("departmentIds") List<Long> departmentIds);


    @GetMapping("/department/queryDepartmentsByUserId")
    public Result<List<Long>> queryDepartmentsByUserId(@RequestParam("companyUserId") Long companyUserId);


    @GetMapping("/organization/members/simple")
    public Result<List<SysCompanyUserDTO>> queryAllCompanyUser();
}
